package co.edu.usbcali.modelo;
// Generated 26/09/2011 12:36:11 AM by Zathura powered by Hibernate Tools 3.2.4.GA


import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

/**
 * Cuenta generated by Zathura powered by Hibernate-tools(hbm2java)
 */
@Entity
@Table(name="CUENTA"
    ,schema="GPE"
    , uniqueConstraints = @UniqueConstraint(columnNames={"USUARIO_CUE", "CLAVE_CUE"}) 
)
public class Cuenta  implements java.io.Serializable {


     private Long codigoCue;
     private String usuarioCue;
     private String claveCue;
     private Long estadoCue;
     private Long tipoUsuario;
     private Set<Administrador> administradors = new HashSet<Administrador>(0);
     private Set<Docente> docentes = new HashSet<Docente>(0);
     private Set<Practicante> practicantes = new HashSet<Practicante>(0);

    public Cuenta() {
    }

	
    public Cuenta(Long codigoCue, String usuarioCue, String claveCue, Long estadoCue, Long tipoUsuario) {
        this.codigoCue = codigoCue;
        this.usuarioCue = usuarioCue;
        this.claveCue = claveCue;
        this.estadoCue = estadoCue;
        this.tipoUsuario = tipoUsuario;
    }
    public Cuenta(Long codigoCue, String usuarioCue, String claveCue, Long estadoCue, Long tipoUsuario, Set<Administrador> administradors, Set<Docente> docentes, Set<Practicante> practicantes) {
       this.codigoCue = codigoCue;
       this.usuarioCue = usuarioCue;
       this.claveCue = claveCue;
       this.estadoCue = estadoCue;
       this.tipoUsuario = tipoUsuario;
       this.administradors = administradors;
       this.docentes = docentes;
       this.practicantes = practicantes;
    }
   
    @SequenceGenerator(name="G_Cue", initialValue=1,allocationSize=1,sequenceName="incremento_cod_cue")
    @Id @GeneratedValue(generator="G_Cue",strategy=GenerationType.SEQUENCE)


    
    @Column(name="CODIGO_CUE", unique=true, nullable=false, precision=3, scale=0)
    public Long getCodigoCue() {
        return this.codigoCue;
    }
    
    public void setCodigoCue(Long codigoCue) {
        this.codigoCue = codigoCue;
    }

    
    @Column(name="USUARIO_CUE", nullable=false, length=30)
    public String getUsuarioCue() {
        return this.usuarioCue;
    }
    
    public void setUsuarioCue(String usuarioCue) {
        this.usuarioCue = usuarioCue;
    }

    
    @Column(name="CLAVE_CUE", nullable=false, length=30)
    public String getClaveCue() {
        return this.claveCue;
    }
    
    public void setClaveCue(String claveCue) {
        this.claveCue = claveCue;
    }

    
    @Column(name="ESTADO_CUE", nullable=false, precision=1, scale=0)
    public Long getEstadoCue() {
        return this.estadoCue;
    }
    
    public void setEstadoCue(Long estadoCue) {
        this.estadoCue = estadoCue;
    }

    
    @Column(name="TIPO_USUARIO", nullable=false, precision=2, scale=0)
    public Long getTipoUsuario() {
        return this.tipoUsuario;
    }
    
    public void setTipoUsuario(Long tipoUsuario) {
        this.tipoUsuario = tipoUsuario;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="cuenta")
    public Set<Administrador> getAdministradors() {
        return this.administradors;
    }
    
    public void setAdministradors(Set<Administrador> administradors) {
        this.administradors = administradors;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="cuenta")
    public Set<Docente> getDocentes() {
        return this.docentes;
    }
    
    public void setDocentes(Set<Docente> docentes) {
        this.docentes = docentes;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="cuenta")
    public Set<Practicante> getPracticantes() {
        return this.practicantes;
    }
    
    public void setPracticantes(Set<Practicante> practicantes) {
        this.practicantes = practicantes;
    }




}


